import { IParam } from '../../common';
import { IExpCtrlAbility } from '../ability';
import { IExpCtrlStore } from '../store';
import { IDECtrlController } from './i-de-ctrl-controller';

/**
 * 导航部件控制器接口
 *
 * @export
 * @interface IExpCtrlController
 * @extends {IDECtrlController<S, A>}
 * @template S
 * @template A
 */
export interface IExpCtrlController<
	S extends IExpCtrlStore,
	A extends IExpCtrlAbility
> extends IDECtrlController<S, A> {
	/**
	 * 加载数据
	 *
	 * @param {IParam} [opts]
	 * @memberof IExpCtrlController
	 */
	load(opts?: IParam): void;

	/**
	 * 搜索数据
	 *
	 * @param {string} searchValue
	 * @memberof IExpCtrlController
	 */
	search(searchValue: string): void;
}
